Graphical user interfaces (UI) generally provide the ability for a user to interact with and control the functions of most present software programs on personal computers and other computing systems. UIs often consist of buttons, menus, toolbars, scroll bars, sliding bars, and other visual components that allow a user to select and control a function of a computing system and/or quickly identify the status certain functions of the software or computing system. UIs can also include graphical images, photo images, and position holders for other images or content, for example, windows for video feeds or advertisements, or for text entry or drawing.
Most UIs are based upon two-dimensional (2-D), interactive, graphical templates. Such templates can be developed in most, any standard graphic design program, thus allowing a designer a wide range of creativity in the “look and feel” of a particular UI. Underlying functionality may be added to a 2-D graphical template by using standard UI toolkits associated with computer operating systems and assigning particular attributes to discrete features of the graphical template. For example, a graphical feature intended to be a control button may be assigned an attribute to change appearance when selected by a user, e.g., with a mouse click or keyboard command, and assigned a control function with respect to an underlying software program that the UI controls.
Often the “skin” or aesthetic, appearance of a template can be changed by a user, e.g., by selecting different colors or graphical textures for various parts or components of the UI. In a simple example, the user may be able to change the combinations of background colors and button colors. However, even when the skin of a UI is changed, the basic layout and 2-D representation of the elements of the UI remains unchanged. In some software applications, the 2-D representation of a UI may be changed by a user through the selection of an available, alternative 2-D UI. While the position, shape, or size of the elements of the UI may be changed or rearranged, the UI is still represented in 2-D space.
Typically, it is very difficult and time intensive to create fully interactive UIs in a three-dimensional (3-D) graphic computing environment. Creation of such 3-D UIs requires considerable knowledge of 3-D authoring packages, 3-D software development practices, and adherence to a very set of stringent requirements UI elements in a 3-D scene. Further, interfaces created by existing 2-D interactive UI tools in the market (e.g., Macromedia FLASH®) do not map well into a 3-D environment or work with other UI in the 3-D scene.